/**
 * Copyright© 2003-2019 浙江汇信科技有限公司, All Rights Reserved. <br/>
 */
package com.icinfo.cloud.provider.punish.common.electricsent.dto;

import com.icinfo.cloud.provider.common.annotation.CheckTime;
import com.icinfo.cloud.provider.punish.ucase.casemain.dto.CaseAttachmentInfoSaveDto;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.validation.constraints.NotBlank;
import java.util.List;

/**
 * 描述：文书送达登记数据保存传输对象
 *
 * @author xiangyuyu
 * @date 2022-02-18 11:02
 */

@Data
@NoArgsConstructor
public class DocumentSentRegisterSaveDto {
    /**
     * 操作类型(1-新增/2-修改)
     */
    @NotBlank(message = "操作类型不能为空(1-新增/2-修改)")
    private String operateType;
    /**
     * 主键id
     */
    private String id;

    /**
     * 案件id
     */
    @NotBlank(message = "案件id不能为空")
    private String caseId;

    /**
     * 文书id
     */
    @NotBlank(message = "文书id不能为空")
    private String documentId;

    /**
     * 文书目录编码
     */
    @NotBlank(message = "文书目录编码不能为空")
    private String documentCatalogCode;

    /**
     * 送达地址
     */
    @NotBlank(message = "送达地址不能为空")
    private String sentAddress;

    /**
     * 送达时间
     */
    @NotBlank(message = "送达时间不能为空")
    @CheckTime
    private String sentTime;

    /**
     * 送达方式
     */
    @NotBlank(message = "送达方式不能为空")
    private String sentWay;


    /**
     * 案件阶段名称
     */
    private String caseStageName;

    /**
     * 案件阶段编码
     */
    @NotBlank(message = "案件阶段编码不能为空")
    private String caseStageCode;

    /**
     * 案件环节名称
     */
    private String caseLinkName;

    /**
     * 案件环节编码
     */
    @NotBlank(message = "案件环节编码不能为空")
    private String caseLinkCode;
    /**
     * 签收人
     */
    private String receiver;

    /**
     * 与受送达人间关系
     */
    private String receiverRelation;

    /**
     * 见证人及其单位或住址
     */
    private String witnessAddress;

    /**
     * 备注
     */
    private String remark;

    /**
     * 送达回证文件列表
     */
    private List<CaseAttachmentInfoSaveDto> sentReceiptList;

    /**
     * 送达证据文件列表
     */
    private List<CaseAttachmentInfoSaveDto> sentEvidenceList;
    /**
     * 操作人id
     */
    private String operateUserId;
    /**
     * 操作人真实姓名
     */
    private String operateUserRealName;

    /**
     * 当事人id
     */
    private String partyId;

    /**
     * 数据来源(数据字典-ApiVisitDataSourceEnum)
     */
    private String dataSource;

    /**
     * 送达见证人姓名
     */
    private String witness;
    /**
     *  见证人身份证
     */
    private String witnessIdCard;
    /**
     *  见证人联系电话
     */
    private String witnessPhone;

    /**
     * 送达地址定位信息
     */
    private String sentAddressLocationInfo;

    /**
     * 是否更新关联表;1 需要更新 ，0 无需更新[后台传参使用]
     */
    private String isUpdateRelationTable;
}